Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Wimbledon - London Australian Open - Melbourne Open Sud de France - Montpellier Atlanta Open - Atlanta Spain F17 Spain F18 Spain F19 Spain F22 Spain F23 Spain F26 Spain F27 Spain F34 Spain F35 Portugal F4 Portugal F5 Spain F38 Spain F39 Spain F40 Spain F41 Spain F5 Spain F6 Spain F8 Spain F9 Spain F10 Spain F13 Spain F18 Spain F19 Spain F20 Spain F30 Spain F31 Spain F34 Portugal F7 Portugal F8 Spain F39 Spain F40 Spain F41 Spain F42 United Arab Emirates F1 United Arab Emirates F2 Spain F3 Spain F4 Spain F5 Spain F7 Spain F11 Turkey F4 Turkey F5 Turkey F6 Spain F16 Spain F17 Spain F10 Spain F18 Spain F20 Spain F21 France F12 Spain F28 Spain F29 Spain F30 Portugal F4 Portugal F5 Spain F35 Spain F37 Spain F3 Spain F4 Italy F2 Italy F3 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 Italy F17 Spain F31 Spain F35 Spain F36 France F4 Spain F14 Spain F15 Spain F36 Spain F37 Spain F38 France F6 (Poitiers) France F22 (Nevers) France F4 (Toulouse) France F5 (Poitiers) M15 Toulouse M15 Grasse M15 Forbach M25 Saint Dizier M15 Villers Les Nancy M25 Poznan M15 Caslano M15 Monastir M25 Wetzlar M25+H Lesa M25 Bagneres-De-Bigorre M25+H Rodez M25 Toulouse M25 Sarreguemines M25 Villers Les Nancy M25 Monastir M25 Monastir M25 Montauban Spain F33 Spain F3 Spain F17 Romania F11 M15 Monastir Romania F10 Spain F33 Mamaia Challenger - Constanta Orbetello Challenger Tarragona Challenger M25 Glasgow Tanger Challenger Tallahassee Challenger Istanbul Challenger M25 Portimao Manerbio Challenger Seville Challenger Izmir Challenger M25 Santa Margherita di Pula M25 Prague Sao Paulo Challenger Courmayeur Challenger Quimper Challenger M25 Trimbach M25 Jablonec nad Nisou M15 Budva M25 Grasse Furth Challenger Marburg Challenger San Marino Challenger San Sebastian Challenger Szczecin Challenger M25 Prague Kazan Challenger Meknes Challenger Casablanca Challenger Marrakech Challenger Mersin Challenger Milan Challenger Tampere Challenger Sibiu Challenger Cordenons Challenger Como Challenger Alphen Challenger Rio De Janeiro Challenger Bordeaux Challenger Furth Challenger Kosice Challenger Todi Challenger M25 Muttenz San Benedetto Challenger Poznan Challenger Guimaraes Challenger M25 Angers M25 Toulouse-Balma Kos Succhetti Tennis Cup - Cordenons Rennes Challenger Leon Challenger Seville Challenger Rabat Challenger Reggio Emilia Challenger Casablanca Challenger Recanati Challenger Tampere Challenger Tampere Challenger Eckental Challenger Kosice Challenger Rabat Challenger Kosice Challenger Trnava Challenger Heilbronn Challenger Grodzisk Mazowiecki Challenger Guangzhou Challenger Pingguo Challenger Pau Challenger Braunschweig Challenger Orleans Challenger Quimper Challenger Segovia Challenger St. Tropez Challenger Mouilleron-Le-Captif Challenger Cherbourg Challenger Orleans Challenger Trnava Challenger Porto Challenger Madrid Challenger Bratislava 2 Challenger Oeiras 1 Challenger Oeiras 2 Challenger Quimper Challenger Mouilleron-Le-Captif Challenger Olbia Challenger Girona Challenger Canberra Challenger Quimper Challenger Ilkley Challenger Rennes Challenger Zug Challenger Suzhou Challenger Lille Challenger Prague 3 Challenger Pau Challenger Mallorca Challenger Biel Challenger Tenerife Challenger Pau Challenger Helsinki Challenger Troyes Challenger Pau Challenger St. Brieuc Challenger Estoril Open - Estoril Istanbul Challenger Orleans Challenger Alicante Challenger Calgary Challenger Drummondville Challenger Oeiras 2 Challenger Tenerife 1 Challenger Pune Challenger Phoenix Challenger Girona Challenger Ostrava Challenger Split Challenger Aix En Provence Challenger Estoril Open - Estoril Mallorca Challenger St. Tropez Challenger Calgary Challenger Noumea Challenger St. Tropez Challenger Phoenix Challenger Lyon Challenger Pau Challenger Ostrava Challenger Aix En Provence Challenger Murcia Challenger Naples Challenger Troyes Challenger If Stockholm Open - Stockholm 84° Concurso Internacional Tenis San Sebastian - San Sebastian Open 13 - Marseille Lyon Challenger St. Tropez Challenger Noumea Challenger Bendigo Challenger Cherbourg Challenger Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Manacor Challenger Credit Agricole Suisse Open - Gstaad Rennes Challenger Antalya 2 Challenger St. Brieuc Challenger Rennes Challenger Rome Challenger Aircel Chennai Open - Chennai Apia International - Sydney Brasil Open - Sao Paulo Power Horse Cup - Dusseldorf Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Open Sud de France - Montpellier Rio Open 500 - Rio de Janeiro Portugal Open - Oeiras Topshelf Open - 's-Hertogenbosch Vegeta Croatia Open - Umag Winston-Salem Open - Winston-Salem China Open - Beijing Cremona Challenger Alicante Challenger Traralgon Challenger Francavilla Challenger Quimper Challenger Bergamo Challenger Zug Challenger Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva San Juan Challenger Bordeaux Challenger SkiStar Swedish Open - Bastad Porto Alegre Challenger Brest Challenger Winston-Salem Open - Winston-Salem Montevideo Challenger Erste Bank Open - Vienna Meknes Challenger Geneva Open - Geneva Iasi Challenger Rakuten Japan Open - Tokyo European Open - Antwerp ASB Classic - Auckland Millennium Estoril Open - Estoril Gerry Weber Open - Halle St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Marrakech Challenger Dubai Duty Free Tennis Championships - Dubai European Open - Antwerp Mercedes Cup - Stuttgart Tata Open Maharashtra - Pune Generali Open - Kitzbuhel Erste Bank Open - Vienna Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Abierto Mexicano Telcel - Acapulco Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Tunis Challenger Gerry Weber Open - Halle St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril Grand Prix Hassan II - Marrakech SkiStar Swedish Open - Bastad Millennium Estoril Open - Estoril ASB Classic - Auckland Rio Open - Rio de Janeiro Gerry Weber Open - Halle ABN AMRO Open - Rotterdam Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Grand Prix Hassan II - Marrakech Antalya Cup - Antalya Turin Challenger ASB Classic - Auckland Lisbon Challenger Geneva Open - Geneva Libema Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Swiss Open - Gstaad Winston-Salem Open - Winston-Salem ASB Classic - Auckland Sardegna Open - Cagliari Melbourne Summer Set - Melbourne Qatar ExxonMobil Open - Doha Serbia Open - Belgrade Mallorca Championships - Mallorca Swiss Open - Gstaad Moselle Open - Metz ASB Classic - Auckland Rio Open - Rio de Janeiro Estoril Open - Estoril Moselle Open - Metz Open 13 Provence - Marseille German Tennis Championships - Hamburg Open Occitanie - Montpellier Open 13 Provence - Marseille Grand Prix Hassan II - Marrakech Aircel Chennai Open - Chennai Heineken Open - Auckland Gerry Weber Open - Halle Studena Croatia Open - Umag Seville Challenger Dubai Duty Free Tennis Championships - Dubai Rome Challenger Topshelf Open - 's-Hertogenbosch Valencia Open - Valencia Open Parc - Lyon Apia International - Sydney Bordeaux Challenger Furth Challenger Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Power Horse Cup - Dusseldorf Bet-at-home Open - Hamburg Moselle Open - Metz Malaysian Open - Kuala Lumpur If Stockholm Open - Stockholm Cordoba Open - Cordoba Madrid Challenger Heineken Open - Auckland Dubai Duty Free Tennis Championships - Dubai AEGON Championships - London Aegon Nottingham Open - Nottingham Vegeta Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Valencia Open - Valencia ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Lincoln Challenger Open de Nice Cote d'Azur - Nice Gonet Geneva Open - Geneva Aegon Nottingham Open - Nottingham Konzum Croatia Open - Umag St. Petersburg Open - St. Petersburg Brest Challenger Rakuten Japan Open - Tokyo Argentina Open - Buenos Aires Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Konzum Croatia Open - Umag Suisse Open - Gstaad Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Brasil Open - Sao Paulo Hamburg Challenger Moselle Open - Metz Brest Challenger Chengdu Open - Chengdu China Open - Beijing Aix En Provence Challenger Oeiras 3 Challenger Rio Open - Rio de Janeiro Prostejov Challenger Winnipeg Challenger Millennium Estoril Open - Estoril Noventi Open - Halle Turkish Airlines Open Antalya - Antalya Open Parc - Lyon Tel Aviv Watergen Open - Tel Aviv Intrum Stockholm Open - Stockholm Cary Challenger ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Generali Open - Kitzbuhel Cordoba Open - Cordoba Argentina Open - Buenos Aires Amersfoort Challenger Tampere Challenger Chile Dove Men+Care Open - Santiago Zug Challenger Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Noventi Open - Halle Mallorca Championships - Mallorca Hall of Fame Open - Newport Rakuten Japan Open - Tokyo Moselle Open - Metz Swiss Indoors Basel - Basel Bengaluru Challenger St. Brieuc Challenger Tunis Challenger Dubai Duty Free Tennis Championships - Dubai Vicenza Challenger Zagreb Challenger Blois Challenger Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Birmingham Challenger Mercedes Cup - Stuttgart Noventi Open - Halle Ilkley Challenger Istanbul Challenger Nordea Open - Bastad Braga Challenger Nottingham 2 Challenger Hamburg European Open - Hamburg Winston-Salem Open - Winston-Salem Stockholm Open - Stockholm Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Millennium Estoril Open - Estoril Ortisei Challenger Gijon Open - Gijon Ismaning Challenger Jinan Challenger Drummondville Challenger Valencia Challenger Millennium Estoril Open - Estoril Maia Challenger Barcelona Open Banc Sabadell - Barcelona Shenzhen Challenger San Marino Challenger Barletta Challenger Madrid Challenger BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami Nottingham 2 Challenger Mutua Madrid Open - Madrid Moselle Open - Metz Grodzisk Mazowiecki Challenger Valencia Open - Valencia Open 13 - Marseille Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Swiss Indoors Basel - Basel Argentina Open - Buenos Aires Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril VTR Open - Vina del Mar Chennai Challenger Mauthausen Challenger Open Parc - Lyon Cassis Challenger Bratislava Challenger Winston-Salem Open - Winston-Salem Bordeaux Challenger Brest Challenger Moselle Open - Metz Estoril Open - Estoril Copa Claro - Buenos Aires Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Qatar ExxonMobil Open - Doha Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai Miami Open - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Rolex Paris Masters - Paris Kremlin Cup - Moscow Citi Open - Washington Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Masters - Paris Open 13 Provence - Marseille Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Monte-Carlo Rolex Masters - Monte-Carlo Western & Southern Open - New York BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid National Bank Open - Montreal Miami Open - Miami Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Miami Open - Miami Shanghai Rolex Masters - Shanghai Monte-Carlo Rolex Masters - Monte-Carlo Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rolex Paris Masters - Paris Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu European Open - Antwerp Open Sud de France - Montpellier Shenzhen Open - Shenzhen Swiss Indoors Basel - Basel Barcelona Open BancSabadell - Barcelona St. Petersburg Open - St. Petersburg Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Open Sud de France - Montpellier U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York U.S. Open - New York U.S. Open - New York French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne Australian Open - Melbourne Rolex Paris Masters - Paris Wimbledon - London Wimbledon - London French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London Internazionali BNL d'Italia - Rome U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York French Open - Paris Wimbledon - London Wimbledon - London U.S. Open - New York French Open - Paris Rogers Cup - Montreal Wimbledon - London U.S. Open - New York U.S. Open - New York Rogers Cup - Toronto French Open - Paris U.S. Open - New York Infosys Hall of Fame Open - Newport Davis Cup, Group 2, 2R, POR-CYP 5-0 Cassis Challenger Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Australian Open - Melbourne Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, 1R, BLR-POR 3-2 French Open - Paris Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) All Lower level tournaments Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group I, 1R, POR-BRA 3-1 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group I, PO, POR-SLO 5-0 Olympics - Rio de Janeiro Davis Cup, World Group, PO, POR-CZE 1-3 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 2R, SUI-POR 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, 1R, AUT-POR 1-3 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, World Group, Q, FIN-POR 3-1 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, UKR-POR 3-1 French Open (juniors) Australian Open (juniors) Olympics - Tokyo Olbia Challenger Davis Cup, Group I, PO, POR-RSA 4-0